﻿using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Text;

namespace Ruleweaver.Conditions
{
	[ContractClass(typeof(IConditionRepositoryContract))]
	public interface IConditionRepository
	{
		Condition GetCondition(ConditionKey key);
	}

	[ContractClassFor(typeof(IConditionRepository))]
	internal abstract class IConditionRepositoryContract : IConditionRepository
	{
		Condition IConditionRepository.GetCondition(ConditionKey key)
		{
			Contract.Requires(key != null);

			return null;
		}
	}
}